﻿using System.IO;
using System.Windows.Media;

namespace OpenAiClient.Tools
{
    internal static class Constants
    {
        public static readonly int ErrorNotRegister = 101; //未注册

        public static readonly int NumberPerPage = 20; //每页显示个数

        // ReSharper disable once InconsistentNaming
        public static class SQLite
        {
            //SQLite数据库文件名
            // ReSharper disable once InconsistentNaming
            private static readonly string FileName = "System.Data.dll";

            //SQLite数据库密码
            // ReSharper disable once InconsistentNaming
            private static readonly string Password = "";

            //SQLite连接字符串
            public static string ConnectionString => $"Data Source={FileName};Password={Password}";

            //获取SQLite连接字符串(指定路径)
            public static string GetConnectionString(string path)
            {
                var fileName = Path.Combine(path, FileName);
                return $"Data Source={fileName};Password={Password}";
            }
        }

        public static class Brushes
        {
            public static readonly Brush SucceedTextBrush = new SolidColorBrush(Colors.Green);
            public static readonly Brush FailedTextBrush = new SolidColorBrush(Colors.Red);
        }

        public static class GptRequestModel
        {
            public const string Gpt4oValue = "gpt-4o";
            private const string Gpt4o20240806Value = "gpt-4o-2024-08-06";
            private const string Gpt4o20240513Value = "gpt-4o-2024-05-13";
            public const string Gpt4oMiniValue = "gpt-4o-mini";
            private const string Gpt4oMini20240718Value = "gpt-4o-mini-2024-07-18";
            public const string Gpt4TurboValue = "gpt-4-turbo";
            private const string Gpt4Turbo20240409Value = "gpt-4-turbo-2024-04-09";
            private const string Gpt40125PreviewValue = "gpt-4-0125-preview";
            private const string Gpt4TurboPreviewValue = "gpt-4-turbo-preview";
            private const string Gpt41106PreviewValue = "gpt-4-1106-preview";
            private const string Gpt4VisionPreviewValue = "gpt-4-vision-preview";
            public const string Gpt4Value = "gpt-4";
            private const string Gpt40314Value = "gpt-4-0314";
            private const string Gpt40613Value = "gpt-4-0613";
            public const string Gpt432kValue = "gpt-4-32k";
            private const string Gpt432k0314Value = "gpt-4-32k-0314";
            private const string Gpt432k0613Value = "gpt-4-32k-0613";
            public const string Gpt35TurboValue = "gpt-3.5-turbo";
            private const string Gpt35Turbo16kValue = "gpt-3.5-turbo-16k";
            private const string Gpt35Turbo0613Value = "gpt-3.5-turbo-0613";
            private const string Gpt35Turbo1106Value = "gpt-3.5-turbo-1106";
            private const string Gpt35Turbo0125Value = "gpt-3.5-turbo-0125";
            private const string Gpt35Turbo16k0613Value = "gpt-3.5-turbo-16k-0613";
        }
    }
}
